package com.sangeng.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.sangeng.domain.core.ResponseResult;
import com.sangeng.domain.dto.UserDto;
import com.sangeng.domain.dto.UserInsertDto;
import com.sangeng.domain.dto.UserListDto;
import com.sangeng.domain.dto.UserUpdateDto;
import com.sangeng.domain.entity.User;

/**
 * 用户表(User)表服务接口
 *
 * @author makejava
 * @since 2025-06-16 15:20:03
 */
public interface UserService extends IService<User> {

    ResponseResult getUserInfo();

    ResponseResult updateUserInfo(UserDto user);

    ResponseResult register(User user);

    ResponseResult listUsers(UserListDto userListDto);

    ResponseResult registerAdminUser(UserInsertDto userInsertDto);

    ResponseResult removeUserById(Long id);

    ResponseResult getUserRolesById(Long id);

    ResponseResult updateUser(UserUpdateDto userUpdateDto, boolean changeStatus);
}

